package towers;

import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;

import javax.swing.ImageIcon;

import buffs.Buff;


public class TowerTemplate {
	public int power;
	public int reload;
	public int range;
	public int cost;
	public String name;
	public ImageIcon icon;
	public Set<TowerTemplate> upgrades;
	public Map<Class<? extends Buff>, String> buffs;
	public Class<? extends Projectile> projectile;
	
	public TowerTemplate() { 
		upgrades = new HashSet<TowerTemplate>();
		buffs = new HashMap<Class<? extends Buff>, String>();
	}
	
	public TowerTemplate(int power, int reload, int range, int cost, String name, Class<? extends Projectile> projectile, 
			Set<Buff> buffs, TowerTemplate... upg) {
		upgrades = new HashSet<TowerTemplate>();
		for (TowerTemplate t: upg) {
			upgrades.add(t);
		}
		this.power = power;
		this.reload = reload;
		this.range = range;
		this.cost = cost;
		this.name = name;
		this.projectile = projectile;
	}
}
